Method of Encoding and Decoding Using LDPC Code

ABSTRACT

A method of encoding/decoding using an LDPC code is disclosed, by which performance is enhanced and by which complexity is reduced. In encoding/decoding using an LDPC code defined by an (n−k) x n parity check matrix H, the present invention includes the step of performing the encoding/decoding input source data using the parity check matrix H including H p  and H d  to Meet H=[H d |H p ] (where H d  has (n−k)×k dimensions, H p  has (n−k)×(n−k) dimensions), wherein if the H p  comprises a plurality of z X z sub-matrices, each of the sub-matrices is an identity matrix or a zero matrix and wherein a column weight of each column of the H p  is at least 2.

TECHNICAL FIELD

The present invention relates to an encoding/decoding method, and moreparticularly, to a method of encoding/decoding using an LDPC code.Although the present invention is suitable for a wide scope ofapplications, it is particularly suitable for enhancing performance andfor reducing complexity.

BACKGROUND ART

Generally, encoding is a process that a transmitting side performs adata processing for a receiving side to restore original data despiteerrors caused by signal distortion, loss and the like while thetransmitting side transmits data via a communication channel. And,decoding is a process that the receiving side restores the encodedtransmitted data into the original data.

Recently, many attentions are paid to an encoding method using an LDPCcode. The LDPC code is a linear block code having low density since mostof elements of a parity check matrix H are zeros, which was proposed byGallager in 1962. It was difficult to implement the LDPC code that isvery complicated due to the technological difficulty in those days. Yet,the LDPC code was taken into re-consideration in 1995 so that itssuperior performance has been verified. So, many efforts are made toresearch and develop the LPDC code. (Reference: [1] Robert G. Gallager,“Low-Density Parity-Check Codes”, The MIT Press, Sep. 15, 1963. [2] D.J. C. Mackay, Good error-correcting codes based on very sparse matrices,IEEE Trans. Inform. Theory, IT-45, pp. 399-431 (1999))

Since the number of is of the parity check matrix of the LDPC code isvery small, decoding of the parity check matrix of the LDPC is enabledthrough repetition decoding in case of a large block size. If the blocksize becomes considerably large, the parity check matrix of the LDPCcode shows the performance that approximates a channel capacity limit ofShannon like a turbo code.

The LDPC code can be explained by a (n−k)×n parity check matrix H. And,a generator matrix G corresponding to the parity check matrix H can befound by Equation 1.

H·G=0  [Equation 1]

In an encoding/decoding method using an LDPC code, a transmitting sideencodes input data by Equation 2 using the generator matrix G having arelation of Equation 1 with the parity check matrix H.

x=G·s, where ‘x’ is a codeword and ‘s’ is inputted sourcedata.  [Equation 2]

Lately, a method of encoding input data using the parity check matrix His globally used instead of the generator matrix G. Hence, as mentionedin the foregoing description, the parity check matrix H is the mostimportant element in the encoding method using the LDPC code.

The parity check matrix H, as shown in FIG. 1, is configured with aplurality of z×z permutation matrices or a zero matrix. Namely, P_(ij)in FIG. 1 means the z×z permutation matrix or zero matrix.

A plurality of the permutation matrices can be formed by permutating atleast one base permutation matrix according to a predeterminedregularity. For instance, if a base permutation matrix is set to a z×zidentity matrix, a plurality of permutation matrices can be generatedfrom shifting all rows of the base permutation matrix in a specificdirection by a predetermined interval, exchanging a specific row (orcolumn) of the base permutation matrix for another random row (orcolumn) of the base permutation matrix, rotating the base permutationmatrix by a predetermined angle or the like.

Instead of expressing a plurality of the permutation matricesconfiguring the party check matrix H as a matrix, by previouslydetermining types of a plurality of the permutation matrices accordingto the method or class of permutating the base permutation matrix, it isable to express the parity check matrix H as the types of a plurality ofthe permutation matrices. In the following description, the parity checkmatrix H expressed as the types of a plurality of the permutationmatrices is defined as a base matrix H_(b) to use. The base matrix H_(b)has m_(b)×n_(b) dimensions. In this case, m_(b)=(n−k)/z and n_(b)=n/z.And, the parity check matrix H can be generated in a manner of replacinginformation (hereinafter called a permutation type) of the type of thepermutation matrix corresponding to each element of the base matrixH_(b) by a permutation matrix corresponding to the permutation type andexpanding the corresponding permutation matrix.

FIG. 2 is a diagram of an example of the base matrix H_(b).

Referring to FIG. 2, a 5×5 identity matrix is used as a base permutationmatrix. A plurality of permutation matrices are generated from shiftingall rows of the base permutation matrix in a specific direction by apredetermined interval. In doing so, the permutation type of the basepermutation matrix as the 5×5 identity matrix is set to ‘1’, thepermutation type of the permutation matrix generated from shifting allrows of the base permutation matrix by one row is set to ‘2’, thepermutation type of the permutation matrix generated from shifting allrows of the base permutation matrix by two rows is set to ‘3’, thepermutation type of the permutation matrix generated from shifting allrows of the base permutation matrix by three row is set to ‘4’, and thepermutation type of the permutation matrix generated from shifting allrows of the base permutation matrix by five rows is set to ‘5’. Thus,the parity check matrix H is expressed as the permutation types. In FIG.2, ‘0’ means a 5×5 zero matrix. IF the parity check matrix H isexpressed as the permutation types, it is able to save the memory forstoring the parity check matrix H. In FIG. 2, the permutation type isexemplarily expressed as an integer. Yet, the permutation type can beexpresses in various ways.

Assuming that the base matrix H_(b) is divided into two parts(H_(b))_(d) and (H_(b))_(p), the part (H_(b))_(p) can employ a blockdual diagonal matrix as shown in FIG. 2. In the block dual diagonalmatrix, a main diagonal and a diagonal beneath or directly above themain diagonal include identity matrices and the rest include zeromatrices.

In case of using the block dual diagonal matrix as the part (H_(b))_(p),a plurality of columns each having a weight of 1 is generated in theparity check matrix H. Namely, as a last column of the part (H_(b))_(p)is configured with one 5×5 identity matrix and a 5×5 zero matrix, fivecolumns each having the weight of 1 are generated in aspect of theparity check matrix H. In the substantial encoding/decoding method usingthe LDPC code, since a matrix having dimensions considerably greaterthan the 5×5 dimensions is used as the base permutation matrix, theparity check matrix H includes more columns each having the weight of 1than the example of FIG. 2. Hence, the operations for theencoding/decoding are complicated to considerably degradeencoding/decoding performance.

DISCLOSURE OF THE INVENTION

Accordingly, the present invention is directed to a method ofencoding/decoding using an LDPC code that substantially obviates one ormore of the problems due to limitations and disadvantages of the relatedart.

An object of the present invention is to provide a method ofencoding/decoding using an LDPC code, by which encoding/decodingperformance is enhanced and complexity is reduced.

In case that a base matrix H_(b) includes two parts (H_(b))_(d) and(H_(b))_(p) and in case that the part (H_(b))_(p) employs a block dualdiagonal matrix, the present invention is characterized in that there isno a column having a weight of 1 in H_(p) of a parity check matrix H.

Additional features and advantages of the invention will be set forth inthe description which follows, and in part will be apparent from thedescription, or may be learned by practice of the invention. Theobjectives and other advantages of the invention will be realized andattained by the structure particularly pointed out in the writtendescription and claims thereof as well as the appended drawings.

To achieve these and other advantages and in accordance with the purposeof the present invention, as embodied and broadly described, a method ofencoding using an LDPC code, which is defined by an (n−k)×n parity checkmatrix H, according to the present invention includes the step ofencoding input source data using the parity check matrix H includingH_(p) and H_(d) to meet H=[H_(d)|H_(p)] (where H_(d) has (n−k)×kdimensions, H_(p) has (n−k)×(n−k) dimensions), wherein if the H_(p)comprises a plurality of z×z sub-matrices, each of the sub-matrices isan identity matrix or a zero matrix and wherein a column weight of eachcolumn of the H_(p) is at least 2.

To further achieve these and other advantages and in accordance with thepurpose of the present invention, a method of decoding using an LDPCcode, which is defined by an (n−k)×n parity check matrix H, includes thestep of decoding input source data using the parity check matrix Hincluding H_(p) and H_(d) to meet H=[H_(d)|H_(p)](where H_(d) has(n−k)×k dimensions, H_(p) has (n−k)×(n−k) dimensions), wherein if theH_(p) comprises a plurality of z×z sub-matrices, each of thesub-matrices is an identity matrix or a zero matrix and wherein a columnweight of each column of the H_(p) is at least 2.

To further achieve these and other advantages and in accordance with thepurpose of the present invention, in a parity sequence including m_(b)parity column vector groups of z-bit number unit using a z×z paritycheck matrix H including H-matrix elements of a z×z permutation matrixor a zero matrix with an input data sequence s including k_(b) datacolumn vectors of z-bit number unit, a method of encoding using an LDPCcode includes the steps of finding a parity vector p(0) using theH-matrix elements and the data column vectors and sequentially findingparity vectors p(1) to p(m_(b)−1) by at least one determined recursionEquation using the first parity column vector p(0), the data columnvectors and the H-matrix elements, wherein the n is a length of theinput data sequence, wherein the m is a parity bit sequence length, andwherein k=n−m.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory and areintended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a furtherunderstanding of the invention and are incorporated in and constitute apart of this specification, illustrate embodiments of the invention andtogether with the description serve to explain the principles of theinvention.

In the drawings:

FIG. 1 is a diagram of a parity check matrix H including a plurality ofz×z permutation matrices or a zero matrix;

FIG. 2 is a diagram of an example of the base matrix H_(b);

FIG. 3 is a block diagram of a communication system for explaining onepreferred embodiment of the present invention;

FIG. 4 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to one preferredembodiment of the present invention;

FIG. 5 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to another preferredembodiment of the present invention;

FIG. 6 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to another preferredembodiment of the present invention;

FIG. 7 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to another preferredembodiment of the present invention;

FIG. 8 is an exemplary diagram of a structure of a parity check matrix Hexpressed as a format of a base matrix H_(b) according to anotherpreferred embodiment of the present invention; and

FIG. 9 is an exemplary diagram of a structure of a parity check matrix Hexpressed as a format of a base matrix H_(b) according to anotherpreferred embodiment of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

Reference will now be made in detail to the preferred embodiments of thepresent invention, examples of which are illustrated in the accompanyingdrawings.

FIG. 3 is a block diagram of a communication system to explain onepreferred embodiment of the present invention, in which a technicalfeature of the present invention is applied to a wireless communicationsystem for example.

Referring to FIG. 3, a transmitter 10 and a receiver 30 communicate witheach other using a radio channel as a medium. In the transmitter 10, ak-bit source data u outputted from a data source 11 is converted to ann-bit codeword c by LDPC encoding conducted by an LDPC encoding module13. The codeword c is radio-modulated by a modulation module 15 to betransmitted by an antenna 17 via the radio channel 20 and is thenreceived by another antenna 31 of the receiver 30. The receiver 30 goesthrough a process reverse to that of the transmitter 10. Namely, thereceived data is demodulated by a demodulation module 33 to be decodedby an LDPC decoding module 35, whereby the source data u can be finallyobtained. The above explained data transmitting/receiving process isdescribed within a minimum range required for explaining the features ofthe present invention. So, it is apparent to those skilled in the artthat the corresponding process needs more procedures for the datatransmission/reception.

The parity check matrix H used in encoding the input source data in theLDPC encoding module 13 is (n−k)×n dimensional. The ‘k’ means a length(bit unit) of the input data inputted to the LDPC encoding module 13.The ‘n’ means a length (bit unit) of the encoded codeword c. The paritycheck matrix H, as shown in FIG. 1, is configured with a plurality ofz×z permutation matrices or a zero matrix.

As mentioned in the foregoing description, the parity check matrix H canbe expressed as a base matrix H_(b) including permutation types of abase permutation matrix and a plurality of permutation matricesgenerated from permutating the base permutation matrix according to apredetermined regularity or rule. Assuming that the base matrix H_(b) isdivided into two parts (H_(b))_(d) and (H_(b))_(p), the part (H_(b))_(p)includes a block dual diagonal matrix in general, which causes theproblem of performance degradation in encoding or decoding. To solve therelated art problem, the present invention is characterized inconfiguring the part H_(p) in a manner different from that of therelated art.

FIG. 4 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to one preferredembodiment of the present invention.

Referring to FIG. 4, ‘I’ corresponds to a z×z identity matrix, ‘0’ is az×z zero matrix, and ‘90’ indicates a matrix generated from rotating theidentity matrix by 90°. Comparing the part (H_(b))_(p) of FIG. 4 to thepart (H_(b))_(p) Of FIG. 2, there is a structural difference in a 3×3portion (indicated by hatching in FIG. 4) at its right lower corner.

The reason why the structure of (H_(b))_(p) is transformed into that inFIG. 4 is explained as follows.

First of all, by completely eliminating a column having a weight of 1from the parity check matrix H, the performance in encoding or decodingis raised.

Secondly, the parity check matrix H is made to avoid a 4-cycle overalland a 6-cycle is made equal to or smaller than a preset critical value(C_(max)) in the entire parity check matrix H. The 4-cycle means a casethat two random rows of the parity check matrix H have 1's at two pointssimultaneously. And, the 4-cycle causes the degradation of the encodingor decoding performance. The 6-cycle means a case that all twocombinable rows selected from three random rows of the parity checkmatrix H have 1's at the same points, respectively.

Thirdly, a matrix generated from rotating the identity matrix by 90° isadded, whereby a plurality of linearly dependent rows are prevented frombeing generated to assist a HARQ (hybrid auto retransmission request)operation, and more particularly, an IR (incremental redundancy)operation. If the plurality of linearly dependent rows are generated, itis unable to find solutions of equations for the encoding or decoding.Hence, an unnecessary calculation amount is raised in the encoding andthe performance is degraded in the decoding.

In the encoding method using the LDPC code, the input source data can beencoded using the generator matrix G. Namely, a k-bit input source datas_(1×k) is encoded into an n-bit codeword x_(1×k) by Equation 2. Acodeword x has a configuration of x=[s p]=[s₀, s₁, . . . , S_(k−1), p₀,p₁, . . . , p_(m−1)], where (p₀, p₁, . . . , p_(m−1)) are parity checkbits and (s₀, s₁, . . . , s_(k−1)) are systematic bits.

The encoding scheme using the generator matrix G is very complicated. Toreduce such complexity, it is preferable that the input source data isdirectly encoded using the parity check matrix H.

The input source data s=(s_(o), . . . , s_(k−1)) can be divided intoz-bit k_(b)(k_(b)=n_(b)−m_(b)) column vectors such as s(i)=[s_(iz),s_(iz+1) . . . s_((i+1)z−1)]^(T). And, the parity check bit p=(p_(o), .. . , p_(k−1)) can be divided into m_(b) column vectors such asp(i)=[p_(iz), p_(iz+1) . . . p_((i+1)z−1)]^(T).

The encoding scheme using the parity check matrix H shown in FIG. 4 iscarried out by two procedures of recursion and finalization.

The recursion procedure is to determine p(i), which can be expressed asEquation 3.

$\begin{matrix}{{{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},1,\ldots \mspace{14mu},{m_{b} - 4},{{{where}\mspace{14mu} {p\left( {- 1} \right)}} \equiv 0_{z \times 1}}} & \left\lbrack {{Equation}\mspace{14mu} 3} \right\rbrack\end{matrix}$

Equation 3 explains a process of sequentially obtaining a first parityvectors p(0) to a parity vectors p(m_(b)−4) corresponding to a fourthone from the last through simple recursive calculations. And, it is ableto start from a parity vector p(m_(b)−1) according to a permutation formof (H_(b))_(p) as shown in FIGS. 5 to 7. In the scheme of Equation 3, aninitialization procedure is not needed to be advantageous in case oftransmitting an initial parity vector part not to transmit the restparts (e.g., puncturing, H-ARQ, IR operation).

The finalization procedure is to find p(m_(b)−3), p(m_(b)−2) andp(m_(b)−1), which can be expressed as Equation 4.

$\begin{matrix}{{{P_{{m_{b} - 3},{n_{b} - 3}}{p\left( {m_{b} - 3} \right)}} = {{p\left( {m_{b} - 4} \right)} + {\sum\limits_{i = {m_{b} - 3}}^{m_{b} - 1}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},\mspace{79mu} {{p(i)} = {{p\left( {m_{b} - 3} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},\mspace{79mu} {i = {m_{b} - 2}},{m_{b} - 1}} & \left\lbrack {{Equation}\mspace{14mu} 4} \right\rbrack\end{matrix}$

Equation 4, which is a procedure for obtaining three last parityvectors, is generated due to an identity matrix added to eliminate aplurality of columns each having a weight of 1 in the related art. Thethree last parity vectors can be obtained through this procedure tofinalize the encoding.

FIG. 5 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to another preferredembodiment of the present invention.

Referring to FIG. 5, (H_(b))_(p) has a structure that second and thirdcolumns from a right end are mutually switched in the (H_(b))_(p) shownin FIG. 4. The structure of FIG. 5 is provided due to the same reasonsfor the structure of FIG. 4. An encoding process using a base matrixH_(b) shown in FIG. 5 is carried out by two procedures of recursion andfinalization.

The recursion procedure is to determine p(i) from p(i−1), which can beexpressed as Equation 5.

$\begin{matrix}{{{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},1,\ldots \mspace{14mu},{m_{b} - 4},{{{where}\mspace{14mu} {p\left( {- 1} \right)}} \equiv 0_{z \times 1}}} & \left\lbrack {{Equation}\mspace{14mu} 5} \right\rbrack\end{matrix}$

The finalization procedure is to find p(m_(b)−3), p(m_(b)−2) andp(m_(b)−1), which can be expressed as Equation 6.

$\begin{matrix}{{{P_{{m_{b} - 3},{n_{b} - 2}}{p\left( {m_{b} - 2} \right)}} = {{p\left( {m_{b} - 4} \right)} + {\sum\limits_{i = {m_{b} - 3}}^{m_{b} - 1}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},\mspace{79mu} {{p(i)} = {{p\left( {m_{b} - 2} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},\mspace{79mu} {i = {m_{b} - 3}},{m_{b} - 1}} & \left\lbrack {{Equation}\mspace{14mu} 6} \right\rbrack\end{matrix}$

The meanings of Equation 5 and Equation 6 are similar to those ofEquation 3 and Equation 4.

FIG. 6 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to another preferredembodiment of the present invention. Comparing (H_(b))_(p) of FIG. 6 to(H_(b))_(p) of FIG. 2, there exists a difference in the structure of a3×3 part at an upper left corner (indicated by hatching in FIG. 6). Thestructure of FIG. 6 is provided due to the same reasons for thestructure of FIG. 4.

An encoding process using a base matrix H_(b) shown in FIG. 6 is carriedout by two procedures of recursion and finalization.

The recursion procedure is to determine p(i−1) from p(i), which can beexpressed as Equation 7.

$\begin{matrix}{{{p\left( {i - 1} \right)} = {{p(i)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 4},5,\ldots \mspace{14mu},m_{b},{{{where}\mspace{14mu} {p\left( m_{b} \right)}} \equiv 0_{z \times 1}}} & \left\lbrack {{Equation}\mspace{14mu} 7} \right\rbrack\end{matrix}$

The finalization procedure is to find p(0), p(1) and p(2), which can beexpressed as Equation 8.

$\begin{matrix}{{{P_{2,0}{p(0)}} = {{p(3)} + {\sum\limits_{i = 0}^{2}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p(0)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 1},2} & \left\lbrack {{Equation}\mspace{14mu} 8} \right\rbrack\end{matrix}$

The applications in Equation 7 and Equation 8 can be approached in thesame manners of Equation 3 and Equation 4.

FIG. 7 is an exemplary diagram of a structure of a parity check matrix Hshown in a format of a base matrix H_(b) according to another preferredembodiment of the present invention.

Referring to FIG. 7, (H_(b))_(p) has a structure that second and thirdcolumns from a right end are mutually switched in the (H_(b))_(p) shownin FIG. 6. The structure of FIG. 7 is provided due to the same reasonsfor the structure of FIG. 4. An encoding process using a base matrixH_(b) shown in FIG. 7 is carried out by two procedures of recursion andfinalization.

The recursion procedure is to determine p(i−1) from p(i), which can beexpressed as Equation 9.

$\begin{matrix}{{{p\left( {i - 1} \right)} = {{p(i)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 4},5,\ldots \mspace{14mu},m_{b},{{{where}\mspace{14mu} {p\left( m_{b} \right)}} \equiv 0_{z \times 1}}} & \left\lbrack {{Equation}\mspace{14mu} 9} \right\rbrack\end{matrix}$

The finalization procedure is to find p(0), p(1) and p(2), which can beexpressed as Equation 10.

$\begin{matrix}{{{P_{3,2}{p(1)}} = {{p(3)} + {\sum\limits_{i = 0}^{2}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p(1)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},3} & \left\lbrack {{Equation}\mspace{14mu} 10} \right\rbrack\end{matrix}$

The meanings of Equation 9 and Equation 10 are similar to those ofEquation 3 and Equation 4.

FIG. 8 is an exemplary diagram of a structure of a parity check matrix Hexpressed as a format of a base matrix H_(b) according to anotherpreferred embodiment of the present invention.

Different from the examples shown in FIGS. 4 to 7, an example shown inFIG. 8 is configured to have no sub-matrix generated from rotating anidentity matrix by 90° and to make a 6-cycle not exist on the assumptionthat every identity matrix of (H_(b))_(p) is ‘1’ by taking the basematrix H_(b) as a reference.

An encoding process using the parity matrix H shown in FIG. 8 is carriedout by two procedures of recursion and finalization according toEquation 11 and Equation 12, respectively.

$\begin{matrix}{{{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},1,\ldots \mspace{14mu},{m_{b} - 5},{{{where}\mspace{14mu} {p\left( {- 1} \right)}} \equiv 0_{z \times 1}}} & \left\lbrack {{Equation}\mspace{14mu} 11} \right\rbrack\end{matrix}$

Equation 11 explains a procedure of sequentially obtaining a firstparity vector p(0) to a parity vector p(m_(b)−5) corresponding to asixth one from a last one through simple recursive calculations.

$\begin{matrix}{{{p\left( {m_{b} - 2} \right)} = {{p\left( {m_{b} - 5} \right)} + {\sum\limits_{i = {m_{b} - 5}}^{m_{b} - 1}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{\sum\limits_{j = {m_{b} - 5}}^{m_{b} - 1}{P_{i,{k_{b} + j}}{p(j)}}} = {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}},{i = {m_{b} - 1}},{m_{b} - 3},{{{and}\mspace{14mu} m_{b}} - 4}} & \left\lbrack {{Equation}\mspace{14mu} 12} \right\rbrack\end{matrix}$

The finalization procedure is to find p(m_(b)−4), p(m_(b)−3), p(m_(b)−2)and p(m_(b)−1), through which five last parity vectors can be obtainedfor finalization of encoding.

FIG. 9 is an exemplary diagram of a structure of a parity check matrix Hexpressed as a format of a base matrix H_(b) according to anotherpreferred embodiment of the present invention.

Similar to the example shown in FIG. 8, an example shown in FIG. 9 isconfigured to have no sub-matrix generated from rotating an identitymatrix by 90° and to make a 6-cycle not exist on the assumption thatevery identity matrix of (H_(b))_(p) is ‘1’ by taking the base matrixH_(b) as a reference.

An encoding process using the parity matrix H shown in FIG. 9 is carriedout by two procedures of recursion and finalization according toEquation 13 and Equation 14, respectively. The meanings of Equation 13and Equation 14 are similar to those of Equation 11 and Equation 12.

$\begin{matrix}{{{p(i)} = {{p\left( {i + 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = {m_{b} - 1}},\ldots \mspace{14mu},6,5,{{{where}\mspace{14mu} {p\left( m_{b} \right)}} \equiv 0_{z \times 1}}} & \left\lbrack {{Equation}\mspace{14mu} 13} \right\rbrack \\{{{p(1)} = {{p(5)} + {\sum\limits_{i = 0}^{4}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{\sum\limits_{j = 0}^{4}{P_{i,{k_{b} + j}}{p(j)}}} = {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}},{i = 0},2,3,4} & \left\lbrack {{Equation}\mspace{14mu} 14} \right\rbrack\end{matrix}$

In receiving to decode the data encoded in the above manner, thereceiver 30 in FIG. 3 uses Equation 15.

H·x=0  [Equation 15]

Namely, if ‘0’ results from multiplying the encoded data x by the paritycheck matrix H, it means there is no transmission error. If it is notzero, it means that there exists a transmission error. So, the sourcedata can be extracted correspondingly.

The parity check matrices H according to the formats of the base matrixH_(b) in FIGS. 4 to 7 are just exemplary structures to explain thepreferred embodiments of the present invention. A size of a parity checkmatrix H substantially used in encoding or decoding is considerably big.And, the part H_(p) is improved from the parity check matrix H havingthe configuration of H=[H_(d) H_(p)]. Hence, it is apparent that thepart H_(d) can be variously configured.

In substantially performing the encoding or decoding using the LDPC codedefined by the parity check matrix H, each time the encoding or decodingis needed while the permutation types of the base permutation matrix anda plurality of the permutation matrices generated from permutating thebase permutation matrix according to a predetermined regularity, theparity check matrix H is generated from expanding the base matrix H_(b).And, it is preferable that the encoding or decoding is carried out usingthe generated parity check matrix.

Therefore, by making the H_(p) of the parity check matrix H avoid thecolumn having the weight of 1, the present invention can perform theencoding or decoding through the simple recursive operation. Hence, thepresent invention lowers the initialization complexity in the encodingor decoding using the LDPC code, thereby enhancing the performance.

While the present invention has been described and illustrated hereinwith reference to the preferred embodiments thereof, it will be apparentto those skilled in the art that various modifications and variationscan be made therein without departing from the spirit and scope of theinvention. Thus, it is intended that the present invention covers themodifications and variations of this invention that come within thescope of the appended claims and their equivalents.

INDUSTRIAL APPLICABILITY

Accordingly, the present invention is applicable to such a wirelesscommunication system as a mobile communication system, a broadbandwireless access system and the like and is further applicable to allkinds of fields needing the encoding or decoding.

1. A method of encoding/decoding using an LDPC code, which is defined byan (n−k)×n parity check matrix H, the method comprising the step ofencoding/decoding input source data using the parity check matrix Hincluding H_(p) and H_(d) to meet H=[H_(d)|H_(p)] (where H_(d) has(n−k)×k dimensions, H_(p) has (n−k)×(n−k) dimensions), wherein if theH_(p) comprises a plurality of z×z sub-matrices, each of thesub-matrices is an identity matrix or a zero matrix and wherein a columnweight of each column of the H_(p) is at least
 2. 2. The method of claim1, wherein the H_(p) further includes at least one sub-matrix generatedfrom rotating the identity matrix by a prescribed angle.
 3. The methodof claim 1, wherein the parity check matrix H does not have a 4-cycleoverall.
 4. The method of claim 1, wherein a 6-cycle for the entireparity check matrix H is equal to or smaller than a preset criticalvalue (C_(max)).
 5. The method of claim 2, wherein the prescribed angleis 90°.
 6. The method of claim 5, wherein the H_(p) has a format of$\quad\begin{bmatrix}I & 0 & 0 & \ldots & 0 & 0 & 0 & 0 & 0 \\I & I & 0 & \ldots & 0 & 0 & 0 & 0 & 0 \\0 & I & I & \ldots & 0 & 0 & 0 & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & 0 & \ldots & I & 0 & 0 & 0 & 0 \\0 & 0 & 0 & \ldots & I & I & 0 & 0 & 0 \\0 & 0 & 0 & \ldots & 0 & I & 90 & I & I \\0 & 0 & 0 & \ldots & 0 & 0 & I & I & 0 \\0 & 0 & 0 & \ldots & 0 & 0 & I & 0 & I\end{bmatrix}$ (where ‘I’ is a z×z identity matrix, ‘0’ is a z×z zeromatrix, and ‘90’ is a matrix generated from rotating the identity matrixby 90°.).
 7. The method of claim 5, wherein the H_(p) has a format of$\quad\begin{bmatrix}I & 0 & 0 & \ldots & 0 & 0 & 0 & 0 & 0 \\I & I & 0 & \ldots & 0 & 0 & 0 & 0 & 0 \\0 & I & I & \ldots & 0 & 0 & 0 & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & 0 & \ldots & I & 0 & 0 & 0 & 0 \\0 & 0 & 0 & \ldots & I & I & 0 & 0 & 0 \\0 & 0 & 0 & \ldots & 0 & I & I & 90 & I \\0 & 0 & 0 & \ldots & 0 & 0 & I & I & 0 \\0 & 0 & 0 & \ldots & 0 & 0 & 0 & I & I\end{bmatrix}$ (where ‘I’ is a z×z identity matrix, ‘0’ is a z×z zeromatrix, and ‘90’ is a matrix generated from rotating the identity matrixby 90°.). The method of claim 5, wherein the H_(p) has a format of$\quad\begin{bmatrix}I & I & 0 & 0 & 0 & \ldots & 0 & 0 & 0 \\I & 0 & I & 0 & 0 & \ldots & 0 & 0 & 0 \\90 & I & I & I & 0 & \ldots & 0 & 0 & 0 \\0 & 0 & 0 & I & I & \ldots & 0 & 0 & 0 \\0 & 0 & 0 & 0 & I & \ldots & 0 & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & 0 & 0 & 0 & \ldots & I & I & 0 \\0 & 0 & 0 & 0 & 0 & \ldots & 0 & I & I \\0 & 0 & 0 & 0 & 0 & \ldots & 0 & 0 & I\end{bmatrix}$ (where ‘I’ is a z×z identity matrix, ‘0’ is a z×z zeromatrix, and ‘90’ is a matrix generated from rotating the identity matrixby 90°.).
 9. The method of claim 5, wherein the H_(p) has a format of$\quad\begin{bmatrix}I & I & 0 & 0 & 0 & \ldots & 0 & 0 & 0 \\0 & I & I & 0 & 0 & \ldots & 0 & 0 & 0 \\I & 90 & I & I & 0 & \ldots & 0 & 0 & 0 \\0 & 0 & 0 & I & I & \ldots & 0 & 0 & 0 \\0 & 0 & 0 & 0 & I & \ldots & 0 & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & 0 & 0 & 0 & \ldots & I & I & 0 \\0 & 0 & 0 & 0 & 0 & \ldots & 0 & I & I \\0 & 0 & 0 & 0 & 0 & \ldots & 0 & 0 & I\end{bmatrix}$ (where ‘I’ is a z×z identity matrix, ‘0’ is a z×z zeromatrix, and ‘90’ is a matrix generated from rotating the identity matrixby 90°.).
 10. The method of claim 6 or claim 7, the encoding stepcomprising: a recursion step of sequentially finding a first parityvector p(0) to a fourth parity vector p(m_(b)−4) corresponding to afourth one from the last; and a finalization step of finding p(m_(b)−3),p(m_(b)−2) and p(m_(b)−1).
 11. The method of claim 10, wherein therecursion step is carried out by an equation:${{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},1,\ldots \mspace{14mu},{m_{b} - 4},{{{where}\mspace{14mu} {p\left( {- 1} \right)}} \equiv {0_{z \times 1}.}}$12. The method of claim 11, wherein the finalization step is carried outby Equations;${{P_{{m_{b} - 3},{n_{b} - 3}}{p\left( {m_{b} - 3} \right)}} = {{p\left( {m_{b} - 4} \right)} + {\overset{m_{b} - 1}{\sum\limits_{i = {m_{b} - 3}}}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p\left( {m_{b} - 3} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = {m_{b} - 2}},{m_{b} - 1.}$13. The method of claim 11, wherein the finalization step is carried outby Equations;${{P_{{m_{b} - 3},{n_{b} - 2}}{p\left( {m_{b} - 2} \right)}} = {{p\left( {m_{b} - 4} \right)} + {\overset{m_{b} - 1}{\sum\limits_{i = {m_{b} - 3}}}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p\left( {m_{b} - 2} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = {m_{b} - 3}},{m_{b} - 1.}$14. The method of claim 8 or claim 9, the encoding step comprising: aninitialization step of sequentially finding a fourth parity vector p(4)to an m_(b) ^(th) parity vector p(m_(b)); and a finalization step offinding p(0), p(1) and p(2).
 15. The method of claim 14, wherein theinitialization step is carried out by an equation:${{p\left( {i - 1} \right)} = {{p(i)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 4},5,\ldots \mspace{11mu},m_{b},\mspace{14mu} {where}$p(m_(b)) ≡ 0_(z × 1).
 16. The method of claim 15, wherein thefinalization step is carried out by Equations:${{P_{2,0}{p(0)}} = {{p(3)} + {\overset{2}{\sum\limits_{i = 0}}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p(0)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 1},2.$17. The method of claim 15, wherein the finalization step is carried outby Equations:${{P_{3,2}{p(1)}} = {{p(3)} + {\overset{2}{\sum\limits_{i = 0}}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p(1)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},3.$18. The method of claim 1, wherein the H_(p) has a format of$\begin{bmatrix}I & 0 & 0 & \ldots & 0 & 0 & 0 & 0 & 0 \\I & I & 0 & \ldots & 0 & 0 & 0 & 0 & 0 \\0 & I & I & \ldots & 0 & 0 & 0 & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & 0 & \ldots & I & 0 & 0 & I & 0 \\0 & 0 & 0 & \ldots & I & I & 0 & 0 & I \\0 & 0 & 0 & \ldots & 0 & I & I & 0 & 0 \\0 & 0 & 0 & \ldots & 0 & 0 & I & I & 0 \\0 & 0 & 0 & \ldots & 0 & 0 & 0 & 0 & I\end{bmatrix}\quad$ (where ‘I’ is a z×z identity matrix and ‘0 is a z×zzero matrix.).
 19. The method of claim 5, wherein the H_(p) has a formatof $\begin{bmatrix}I & I & 0 & 0 & 0 & \ldots & 0 & 0 & 0 \\0 & I & I & 0 & 0 & \ldots & 0 & 0 & 0 \\0 & 0 & I & I & 0 & \ldots & 0 & 0 & 0 \\I & 0 & 0 & I & I & \ldots & 0 & 0 & 0 \\0 & I & 0 & 0 & I & \ldots & 0 & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & 0 & 0 & 0 & \ldots & I & I & 0 \\0 & 0 & 0 & 0 & 0 & \ldots & 0 & I & I \\0 & 0 & 0 & 0 & 0 & \ldots & 0 & 0 & I\end{bmatrix}\quad$ (where ‘I’ is a z×z identity matrix and ‘0’ is a z×zzero matrix.).
 20. The method of claim 18, the encoding step comprising:a recursion step of sequentially finding a first parity vector p(0) to aparity vector p(m_(b)−6) corresponding to a sixth one from a last one;and a finalization step of finding p(m_(b)−5), p(m_(b)−4), p(m_(b)−3),p(m_(b)−2) and p(m_(b)−1).
 21. The method of claim 20, wherein therecursion step is carried out by an equation:${{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},1,\ldots \mspace{11mu},{m_{b} - 6},\mspace{14mu} {where}$p(−1) ≡ 0_(z × 1).
 22. The method of claim 21, wherein the finalizationstep is carried out by Equations:${{p\left( {m_{b} - 2} \right)} = {{p\left( {m_{b} - 6} \right)} + {\sum\limits_{i = m_{b}}^{m_{b} - 1}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{\sum\limits_{j = {m_{b} - 5}}^{m_{b} - 1}{P_{i,{k_{b} + j}}{p(j)}}} = {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}},{i = {m_{b} - 1}},{m_{b} - 3},{m_{b} - {4\mspace{14mu} {and}\mspace{14mu} m_{b}} - 5.}$23. The method of claim 19, the encoding step comprising: aninitialization step of sequentially finding an m_(b) ^(th) parity vectorp(m_(b)) from a sixth a parity vector p(5); and a finalization step offinding p(0), p(1), p(2), p(3) and p(4).
 24. The method of claim 23,wherein the initialization step is carried out by an equation:${{p(i)} = {{p\left( {i + 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = {m_{b} - 1}},\ldots \mspace{11mu},6,5,\mspace{14mu} {where}$p(m_(b)) ≡ 0_(z × 1).
 25. The method of claim 24, wherein thefinalization step is carried out by Equations:${{p(1)} = {{p(5)} + {\sum\limits_{i = 0}^{4}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{\sum\limits_{j = 0}^{4}{P_{i,{k_{b} + j}}{p(j)}}} = {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}},{i = 0},2,3,4$26. In a parity sequence including m_(b) parity column vector groups ofz-bit number unit using a z×z parity check matrix H including H-matrixelements of a z×z permutation matrix or a zero matrix with an input datasequence ‘s’ including k_(b) data column vectors of z-bit number unit, amethod of encoding using an LDPC code, comprising the steps of: findinga parity vector p(0) using the H-matrix elements and the data columnvectors; and sequentially finding parity vectors p(1) to p(m_(b)−1) byat least one determined recursion Equation using the first parity columnvector p(0), the data column vectors and the H-matrix elements, whereinthe n is a length of the input data sequence, wherein the m is a paritybit sequence length, and wherein k=n−m.
 27. The method of claim 26,wherein the H-matrix includes matrices H_(p) and H_(d) ofH=[H_(d)|H_(p)], wherein H_(d) is (n−k)×k dimensional, and wherein H_(p)is(n−k)×(n−k) dimensional.
 28. The method of claim 27, wherein a columnweight of each column of the matrix H_(p) is equal to or greater than 2.29. The method of claim 27, wherein the matrix H_(p) includes at leastone shifted permutation matrix.
 30. The method of claim 29, wherein thepermutation matrix is an identity matrix.
 31. The method of claim 27,wherein the matrix H_(p) includes at least one matrix generated fromrotating a z×z identity matrix a predetermined angle.
 32. The method ofclaim 27, the parity vector p(0) is found using a specific permutationmatrix between first and last columns of the matrix H_(p) at least. 33.The method of claim 26, wherein the p(0) is found by an equation:${{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},\mspace{14mu} {where}$p(−1) ≡ 0_(z × 1).
 34. The method of claim 33, the recursion Equationis${{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 1},\ldots \mspace{11mu},{m_{b} - 4.}$35. The method of claim 34, wherein the recursion Equation correspondsto:${{P_{{m_{b} - 3},{n_{b} - 3}}{p\left( {m_{b} - 3} \right)}} = {{p\left( {m_{b} - 4} \right)} + {\sum\limits_{i = {m_{b} - 3}}^{m_{b} - 1}{\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}}},{{p(i)} = {{p\left( {m_{b} - 3} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = {m_{b} - 2}},{m_{b} - 1.}$36. The method of claim 25, wherein the recursion Equation correspondsto:${{p(i)} = {{p\left( {i - 1} \right)} + {\sum\limits_{j = 0}^{k_{b} - 1}{P_{i,j}{s(j)}}}}},{i = 0},1,\ldots \mspace{11mu},{m_{b} - 6},\mspace{14mu} {where}$p(−1) ≡ 0_(z × 1).